Android 集成第三方 WebView 内核

您所在的位置:网站首页 android浏览器源码 带内核 Android 集成第三方 WebView 内核

Android 集成第三方 WebView 内核

2024-05-21 14:33| 来源: 网络整理| 查看: 265

1、腾讯 TBS X5 导入 tbs_sdk

从这里下载最新版本 X5 SDK 导入 SDK 到项目 File->Project Structure->+->Import .JAR/.AAR Package->Next

选择下载好的 tbs_sdk.jar 导入

设置默认 project 依赖 tbs_sdk project

至此,tbs_sdk 就导入完成。

权限 布局文件 在 Application 中初始化 import android.app.Application; import com.tencent.smtt.sdk.QbSdk; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); //非wifi情况下,主动下载x5内核 QbSdk.setDownloadWithoutWifi(true); //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。 QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() { @Override public void onViewInitFinished(boolean arg0) { //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。 } @Override public void onCoreInitFinished() { } }; QbSdk.initX5Environment(getApplicationContext(),cb); } } 应用及常用设置 public class MainActivity extends AppCompatActivity { WebView mWebView; WebSettings mWebSettings; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = findViewById(R.id.wv); initWebView(); } @SuppressLint("SetJavaScriptEnabled") private void initWebView() { mWebSettings = mWebView.getSettings(); mWebSettings.setJavaScriptEnabled(true); // 支持Javascript 与js交互 mWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);// 支持通过JS打开新窗口 mWebSettings.setAllowFileAccess(true); // 设置可以访问文件 mWebSettings.setSupportZoom(true); // 支持缩放 mWebSettings.setBuiltInZoomControls(true); // 设置内置的缩放控件 mWebSettings.setUseWideViewPort(true); // 自适应屏幕 mWebSettings.setSupportMultipleWindows(true); // 多窗口 mWebSettings.setDefaultTextEncodingName("utf-8"); // 设置编码格式 mWebSettings.setAppCacheEnabled(true); mWebSettings.setDomStorageEnabled(true); mWebSettings.setAppCacheMaxSize(Long.MAX_VALUE); mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 缓存模式 //设置不用系统浏览器打开,直接显示在当前WebView mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //设置WebChromeClient类 mWebView.setWebChromeClient(new WebChromeClient()); mWebView.loadUrl("https://www.baidu.com/"); } @Override protected void onStop() { // 清理缓存 if (mWebView != null) { mWebView.loadUrl("about:blank"); mWebView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null); mWebView.clearHistory(); mWebView.destroy(); mWebView = null; } super.onStop(); } } 2、Crosswalk

从https://download.01.org/crosswalk/releases/crosswalk/android/stable/latest/可以获取最新稳定版的 crosswalk arr 文件,crosswalk sdk 文件很大,如果你有确定针对的机型,就下载相应版本的包吧,这里我就用 crosswalk-23.53.589.4.aar 来演示了,这个包支持 x86、x64 以及 arm 等全类型 ABI,但代价就是这个包有 48mb 😂。

导入 crosswalk_sdk

步骤同 x5 tbs_sdk,注意 crosswalk_sdk 支持 minSdkVersion >= 16

权限 布局 应用及常用设置 public class MainActivity extends AppCompatActivity { XWalkView mWebView; XWalkSettings mWebSettings; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = findViewById(R.id.wv); initWebView(); } @SuppressLint("SetJavaScriptEnabled") private void initWebView() { mWebSettings = mWebView.getSettings(); mWebSettings.setJavaScriptEnabled(true); // 支持Javascript 与js交互 mWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);// 支持通过JS打开新窗口 mWebSettings.setAllowFileAccess(true); // 设置可以访问文件 mWebSettings.setSupportZoom(true); // 支持缩放 mWebSettings.setBuiltInZoomControls(true); // 设置内置的缩放控件 mWebSettings.setUseWideViewPort(true); // 自适应屏幕 mWebSettings.setSupportMultipleWindows(true); // 多窗口 mWebSettings.setDomStorageEnabled(true); mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 缓存模式 // setResourceClient mWebView.setResourceClient(new XWalkResourceClient(mWebView)); mWebView.loadUrl("https://www.baidu.com/"); } @Override protected void onStop() { // 清理缓存 if (mWebView != null) { mWebView.loadUrl("about:blank"); mWebView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null); mWebView = null; } super.onStop(); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3